#include<iostream>
#include<vector>
#include <unistd.h>
using namespace std;


//约定写入的数据一定是四字节整数
#define LOG 0
#define MySQL 1
#define Inter 2

typedef void(*func)();

void Logfunc()
{
    cout<<"正在执行日志任务!"<<endl;
}

void MySQLfunc()
{
    cout<<"正在执行数据库任务!"<<endl;
}

void Interfunc()
{
    cout<<"正在执行网络任务!"<<endl;
}

class Func
{
public:
    Func(int command = 4)
    {
        pushfunc(); //写入函数
        (command); //执行命令
    }

    void pushfunc()
    {
        f.push_back(Logfunc);
        f.push_back(MySQLfunc);
        f.push_back(Interfunc);
    }

    void operator()(int command)
    {
        if(command >= 0 && command < f.size()) f[command]();
    }

    void Execute(int command)
    {
	  if(command >= 0 && command < f.size())
            f[command](); //执行对应任务
    }

    std::vector<func> f;
};
